The present invention relates to a method for creating a form of a non-linear Volterra filter and other non-linear filters that is suitable for reducing a computational complexity, method for reducing a computational complexity of filter arrangements that comprise devices for rate conversion, correspondingly designed filters and filter circuits, as well as the use of these filters and/or filter circuits in a device for echo compensation in a communications system. In this connection, apart from Volterra filters, in particular filters that consist of two linear filters with a so-called static non-linearity connected therebetween are also considered.
In many systems that include digital as well as analog circuit parts, the digital signal processing is carried out at different sampling rates, for example, in the case of interpolation/decimation paths, which are necessary for the oversampling of ΣΔ converters, or, as is illustrated hereinafter, in echo suppression. If filters that exhibit a non-linear behavior are necessary in these systems, then correspondingly non-linear filters have to be used. This will be discussed hereinafter by way of example on the basis of a special application, namely non-linear echo extinction.
In general two types of echoes may be distinguished in communications systems, namely acoustic echoes and hybrid or electronic echoes. Acoustic echoes occur when sound from a loudspeaker of a communications system reaches a microphone of the same communications system. An example of such a situation is free speech in mobile phones, for example when driving. In this situation the sound from a loudspeaker of the free speech system can reach the corresponding microphone, which leads to an echo signal. If this echo signal is not damped, the result is that a conversation partner hears his own voice in his headphone or loudspeaker. A hybrid or electronic echo occurs for example with two-wire/four-wire conversions, as are present in conventional telecommunications equipment. Signals that are sent from the four-wire section to the two-wire section are partially reflected in the hybrid, which generates an echo signal.
Since, as described above, this echo signal may cause interference, various techniques are used to suppress echo. In general the echo path is simulated as closely as possible, for example by a filter device, in order thereby to extinguish as effectively as possible the actual echo signal with a simulated echo signal.
A typical communications system of this type, which can be used for a full duplex transmission of data or conversations, is diagrammatically illustrated in FIG. 34. Here only the relevant parts for the echo suppression are illustrated.
The illustrated system includes an analog part 158 and a digital part 159. A separating line between these two parts is illustrated by the dotted line. A transmitting path is diagrammatically illustrated in the lower half of FIG. 34 and a receiving path is diagrammatically illustrated in the upper half of FIG. 34.
A digital signal to be transmitted is passed via a line 125 to the illustrated device. The sampling rate of the transmitted signal fed via the line 125 is increased by a factor L in a sampling rate converter 122. This is normally performed by inserting “0” values in the signal (so-called “zero stuffing”). A digital low-pass filter 162 then performs an interpolation of the signal. The signal is noise shaped by a noise shaper 163 before the digital signal treated in this way is converted by a digital-analog converter 164 into an analog transmitted signal.
The signal converted in this way is fed to an analog low-pass filter 165 and a power amplifier 166. The thus amplified transmitted signal is fed to a hybrid 154, in which the two-wire/four wire conversion takes place. The transmitted signal is here passed to a transmitting/receiving line 155.
A received signal received via the transmitting/receiving line 155 is reversed through the hybrid 154 to a receiving filter 156 and passed to an anti-aliasing filter 157, both of which are analog filters. The analog received signal filtered in this way is then converted by an analog-digital converter 160 into a digital received signal, in which connection an oversampling normally takes place. The analog-digital converter 160 is followed by a digital low-pass filter 161 for the decimation and a sampling rate converter 123, which lowers the sampling rate of the digital received signal by a factor L. In the present example the factors L by which the sampling rate is increased in the sampling rate converter 122 and is reduced in the sampling rate converter 123 are identical. These two values may however also be different, especially if the transmitted signal and received signal are sent at different bandwidths and different frequencies, as is the case for example in ADSL (Asymmetric Digital Subscriber Line) transmission.
By means of the components described hereinbefore an echo path is formed that produces a non-linear component, dependent on the signal to be transmitted present at the line 125, at the output of the sampling rate converter 123. In order to suppress this component the echo path is simulated as accurately as possible by an echo compensator or echo filter 121 and the signal generated thereby is subtracted in an adder 124 from the output signal of the sampling rate converter 123. The echo-compensated signal generated in this way is then passed via a line 126 for further processing.
Since the echo path is non-linear, the echo filter 121 must also be a non-linear filter. In particular the power amplifier 166 for example frequently becomes a so-called static non-linearity, whose output depends only on an instantaneous value of a signal accessible to it. Strictly speaking, this non-linearity too is, however, dynamic, that is, its output depends both on the instantaneous value as well as on previous values of the signal passed to it.
In the most general form a so-called Volterra filter is in this connection used as non-linear echo filter, whose transient response is generally given by
                              y          ⁡                      [            n            ]                          =                              h            ⁢                                                  ⁢            0                    +                                    ∑                              i                =                0                                            N                ⁢                                                                  ⁢                1                                      ⁢                                          h1                ⁡                                  (                  i                  )                                            ⁢                              u                ⁡                                  [                                      n                    -                    i                                    ]                                                              +                                    ∑                                                i                  ⁢                                                                          ⁢                  1                                =                0                                            N                ⁢                                                                  ⁢                2                                      ⁢                                          ∑                                                      i                    ⁢                                                                                  ⁢                    2                                    =                  0                                                  N                  ⁢                                                                          ⁢                  2                                            ⁢                              h                ⁢                                                                  ⁢                2                ⁢                                  (                                                            i                      ⁢                                                                                          ⁢                      1                                        ,                                          i                      ⁢                                                                                          ⁢                      2                                                        )                                ⁢                                  u                  ⁡                                      [                                          n                      -                                              i                        ⁢                                                                                                  ⁢                        1                                                              ]                                                  ⁢                                  u                  ⁡                                      [                                          n                      -                                              i                        ⁢                                                                                                  ⁢                        2                                                              ]                                                                                +                                    ∑                                                i                  ⁢                                                                          ⁢                  1                                =                0                                            N                ⁢                                                                  ⁢                3                                      ⁢                                          ∑                                                      i                    ⁢                                                                                  ⁢                    2                                    =                  0                                                  N                  ⁢                                                                          ⁢                  3                                            ⁢                                                ∑                                                            i                      ⁢                                                                                          ⁢                      3                                        =                    0                                                        N                    ⁢                                                                                  ⁢                    3                                                  ⁢                                  h                  ⁢                                                                          ⁢                  3                  ⁢                                      (                                                                  i                        ⁢                                                                                                  ⁢                        1                                            ,                                              i                        ⁢                                                                                                  ⁢                        2                                            ,                                              i                        ⁢                                                                                                  ⁢                        3                                                              )                                    ⁢                                                            u                      ⁡                                              [                                                  n                          -                                                      i                            ⁢                                                                                                                  ⁢                            1                                                                          ]                                                              ·                                          u                      ⁡                                              [                                                  n                          -                                                      i                            ⁢                                                                                                                  ⁢                            2                                                                          ]                                                              ·                                          u                      ⁡                                              [                                                  n                          -                                                      i                            ⁢                                                                                                                  ⁢                            3                                                                          ]                                                                                                                          +          …                                    (        1        )            
Here u[n] denotes the time-discrete linear transmitted signal at the sampling time n, which is passed to the filter, and y[n] denotes the signal correspondingly emitted by the filter at sampling times n·T, where T denotes the sampling interval and n denotes the sampling index. h0, h1, h2, h3 . . . are the corresponding coefficients of the filter. The first term in equation (1) defines a steady component (offset) and the second part defines a linear component of the non-linear filter. The values h1(i) define the impulse response of this linear component. The values h2(i1,i2), h3(i1,i2,i3) are in this connection also termed Volterra cores. The values N1,N2,N3 . . . are the so-called memory lengths of the respective Volterra cores and of the linear component.
For an exact modelling of the echo path it is now necessary to provide a filter of correspondingly higher order and/or with correspondingly longer memory lengths, which requires a large number of coefficients and thus a relatively high computational complexity in the calculation of the output signal of the filter. In addition this filter must—exactly like the actual echo path—in this connection normally be operated at the sampling frequency increased by the factor L in the present example, which likewise increases the computational complexity by the factor L. Accordingly, even with modern filters it is possible only with great difficulty to provide a real-time echo compensation with a high degree of accuracy in this way.